#ifndef __RDX_ERRORCODES_HPP__
#define __RDX_ERRORCODES_HPP__

enum
{
	RDX_ERROR_NONE					= 0,

	RDX_ERROR_ALLOCATION_FAILED		= 1000,
	RDX_ERROR_UNRESOLVED_SYMBOL_REFERENCE,
	RDX_ERROR_PACKAGE_CORRUPTED,
	RDX_ERROR_INCOMPATIBLE_CONVERSION,
	RDX_ERROR_DUPLICATED_SYMBOL_MISMATCH,
	RDX_ERROR_FORBIDDEN_SYMBOL_DUPLICATION,
	RDX_ERROR_NON_DUPLICABLE_SYMBOL_COLLISION,
	RDX_ERROR_MUSTBECONST_PROPERTY_REFERENCES_NON_CONST_ARRAY,
	RDX_ERROR_FORBIDDEN_CLASS_EXTENSION,
	RDX_ERROR_DOMAIN_POLICY_VIOLATION,
	RDX_ERROR_FORBIDDEN_VARYING_USAGE,
	RDX_ERROR_SMP_OPERATION_FORBIDDEN,

	RDX_ERROR_INCOMPATIBLE_VTABLE,
	RDX_ERROR_INCOMPATIBLE_PROPERTIES,
	RDX_ERROR_NATIVE_METHOD_UNBOUND,
	RDX_ERROR_CREATED_ABSTRACT_TYPE,
	RDX_ERROR_INTEGER_OVERFLOW,
	RDX_ERROR_RESUMED_UNRECOVERED_THREAD,
	RDX_ERROR_NATIVE_TYPE_EXTENDS_NON_NATIVE_TYPE,
	RDX_ERROR_NATIVE_PROPERTY_BIND_FAILED,
	RDX_ERROR_NON_CLASS_EXTENDS_CLASS,
	RDX_ERROR_NON_CLASS_IMPLEMENTS_INTERFACE,

	RDX_ERROR_INTERNAL_DUPLICATE_LOST_GST,
	RDX_ERROR_INTERNAL_BAD_TYPE,
	RDX_ERROR_INTERNAL_DESYNCED_COUNTER,
	RDX_ERROR_INTERNAL_GENERAL,

	RDX_ERROR_SAVED_PACKAGED_OBJECT,

	RDX_ERROR_RECURSION_LIMIT_EXCEEDED,
	RDX_ERROR_PRECALL_STACK_OVERFLOW,

	RDX_ERROR_INVALID_PATCH,

	RDX_ERROR_DESERIALIZED_THREAD_WITHOUT_FULL_JOURNALING,

	RDX_ERROR_INVALID_PARAMETER,
	RDX_ERROR_INVALID_ARRAY_TYPE,

	RDX_ERROR_IL_STACK_UNDERFLOW,
	RDX_ERROR_IL_FORBIDDEN_OPERATION_STATE,
	RDX_ERROR_IL_UNALIGNABLE_BYVAL,
	RDX_ERROR_IL_INVALID_OPERAND,
	RDX_ERROR_IL_STACKS_UNBALANCED,
	RDX_ERROR_IL_INVALID_PROPERTY,
	RDX_ERROR_IL_INVALID_JUMP_TARGET,
	RDX_ERROR_IL_ARGUMENT_UNDERRUN,
	RDX_ERROR_IL_INVALID_OPCODE,
};

#endif
